#ifndef _GBATCHINFORMATION_H_
#define _GBATCHINFORMATION_H_

#include <vector>

using namespace std ;

#define MOINS_INFINI -1000000.0
#define PLUS_INFINI   1000000.0

class GLowerBound ;
class GLowerBoundV0 ;
class GLowerBoundV1 ;
class GSupplyLinkSolution ;

class BatchInformation {
    private:
        double size ;
        double completionTime ;

	/**
	 * Used for the class A of instances to obtain the optimal solution 
	 * by sorting the batches according to the decreasing order of the 
	 * number of jobs inside the batches
	 */
	int nbrJob ; 

    public:
     BatchInformation():size(0),completionTime(PLUS_INFINI),nbrJob(0) {}

    friend class GSupplyLinkSolution ;
    friend class GSupplyLinkSolutionPartial ;    
    friend class GLowerBound ;
    friend class GLowerBoundV0 ;
    friend class GLowerBoundV1 ;
    friend ostream& operator<< (ostream& o, const GSupplyLinkSolution& sol) ;
} ;


#endif
